package com.poetize.plus.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.poetize.plus.entity.dto.NoticeDTO;
import com.poetize.plus.entity.dto.page.NoticePageDTO;
import com.poetize.plus.entity.po.Notice;
import com.poetize.plus.entity.vo.NoticeVO;
import com.poetize.plus.entity.vo.page.NoticePageVO;

import java.util.List;

/**
 * @Author zuosy
 * @Date 2024/3/30 14:38
 **/
public interface NoticeService extends IService<Notice> {

    /**
     * 公告分页数据
     * @param noticePageDTO
     * @return
     */
    Page<NoticePageVO> noticePage(NoticePageDTO noticePageDTO);

    /**
     * 新增公告信息
     * @param noticeDTO
     * @return
     */
    Boolean addNotice(NoticeDTO noticeDTO);

    /**
     * 公告详情
     * @param id
     * @return
     */
    NoticeVO queryNotice(Long id);

    /**
     * 修改公告信息
     * @return
     */
    Boolean updateNotice(NoticeDTO noticeDTO);

    /**
     * 删除公告信息
     * @param id
     * @return
     */
    Boolean deleteNotice(Long id);

    /**
     * 修改公告状态
     * @param id
     * @param status
     * @return
     */
    Boolean enable(Long id, Boolean status);

    /**
     * 获取公告信息
     * @return
     */
    List<NoticeVO> getHomeNotice();
}
